<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>fprintks</title>
    <link rel="stylesheet" type="text/css" href="csound.css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.78.1" />
    <link rel="home" href="index.html" title="The Canonical Csound Reference Manual" />
    <link rel="up" href="OpcodesTop.html" title="Orchestra Opcodes and Operators" />
    <link rel="prev" href="foutk.html" title="foutk" />
    <link rel="next" href="fprints.html" title="fprints" />
  </head>
  <body>
    <div class="navheader">
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">fprintks</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="foutk.html">Prev</a> </td>
          <th width="60%" align="center">Orchestra Opcodes and Operators</th>
          <td width="20%" align="right"> <a accesskey="n" href="fprints.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="refentry">
      <a id="fprintks"></a>
      <div class="titlepage"></div>
      <a id="IndexFprintks" class="indexterm"></a>
      <div class="refnamediv">
        <h2>
          <span class="refentrytitle">fprintks</span>
        </h2>
        <p>fprintks — 
      Similar to printks but prints to a file.
          </p>
      </div>
      <div class="refsect1">
        <a id="idp111065184"></a>
        <h2>Description</h2>
        <p>
      Similar to <a class="link" href="printks.html" title="printks"><em class="citetitle">printks</em></a> but prints to a file.
    </p>
      </div>
      <div class="refsect1">
        <a id="idp111067328"></a>
        <h2>Syntax</h2>
        <pre class="synopsis"><span class="command"><strong>fprintks</strong></span> "filename", "string", [, kval1] [, kval2] [...]</pre>
      </div>
      <div class="refsect1">
        <a id="idp111069504"></a>
        <h2>Initialization</h2>
        <p>
      <span class="emphasis"><em>"filename"</em></span> -- name of the output file.
    </p>
        <p>
      <span class="emphasis"><em>"string"</em></span> -- the text string to be printed. Can be up to 8192 characters and must be in double quotes.
    </p>
      </div>
      <div class="refsect1">
        <a id="idp111072256"></a>
        <h2>Performance</h2>
        <p>
      <span class="emphasis"><em>kval1, kval2, ...</em></span> (optional) -- The k-rate values to be printed. These are specified in <span class="emphasis"><em><span class="quote">“<span class="quote">string</span>”</span></em></span> with the standard C value specifier (%f, %d, etc.) in the order given.
    </p>
        <p>
      <span class="emphasis"><em>fprintks</em></span> is similar to the <span class="emphasis"><em>printks</em></span> opcode except it outputs to a file and doesn't have a <span class="emphasis"><em>itime</em></span> parameter. For more information about output formatting, please look at <a class="link" href="printks.html" title="printks"><em class="citetitle">printks's documentation</em></a>.
    </p>
      </div>
      <div class="refsect1">
        <a id="idp111077424"></a>
        <h2>Examples</h2>
        <p>
      Here is an example of the fprintks opcode. It uses the file <a class="ulink" href="examples/fprintks.csd" target="_top"><em class="citetitle">fprintks.csd</em></a>.

      </p>
        <div class="example">
          <a id="idp111079280"></a>
          <p class="title">
            <strong>Example 320. Example of the fprintks opcode.</strong>
          </p>
          <div class="example-contents">
            <p>See the sections <a class="link" href="UsingRealTime.html" title="Real-Time Audio"><em class="citetitle">Real-time Audio</em></a> and <a class="link" href="CommandFlags.html" title="Csound command line"><em class="citetitle">Command Line Flags</em></a> for more information on using command line flags.</p>
            <pre class="programlisting">
<span class="csdtag">&lt;CsoundSynthesizer&gt;</span>
<span class="csdtag">&lt;CsOptions&gt;</span>
<span class="comment">; Select audio/midi flags here according to platform</span>
<span class="comment">; Audio out   Audio in</span>
-odac           -iadc    <span class="comment">;;;RT audio I/O</span>
<span class="comment">; For Non-realtime ouput leave only the line below:</span>
<span class="comment">; -o fprintks.wav -W ;;; for file output any platform</span>
<span class="csdtag">&lt;/CsOptions&gt;</span>
<span class="csdtag">&lt;CsInstruments&gt;</span>

<span class="op">/</span><span class="op">*</span> Written by Matt Ingalls, edited by Kevin Conder. <span class="op">*</span><span class="op">/</span>
<span class="comment">; Initialize the global variables.</span>
<span class="ohdr">sr</span> <span class="op">=</span> 44100
<span class="ohdr">kr</span> <span class="op">=</span> 4410
<span class="ohdr">ksmps</span> <span class="op">=</span> 10
<span class="ohdr">nchnls</span> <span class="op">=</span> 1

<span class="comment">; Instrument #1 - a score generator example.</span>
<span class="oblock">instr</span> 1
  <span class="comment">; K-rate stuff.</span>
  kstart <span class="opc">init</span> 0
  kdur <span class="opc">linrand</span> 10
  kpitch <span class="opc">linrand</span> 8

  <span class="comment">; Printing to to a file called "my.sco".</span>
  <span class="opc">fprintks</span> "my.sco", "i1\\t<span class="op">%</span>2.2f\\t<span class="op">%</span>2.2f\\t<span class="op">%</span>2.2f\\n", kstart, kdur, 4<span class="op">+</span>kpitch

  knext <span class="opc">linrand</span> 1
  kstart <span class="op">=</span> kstart <span class="op">+</span> knext
<span class="oblock">endin</span>


<span class="csdtag">&lt;/CsInstruments&gt;</span>
<span class="csdtag">&lt;CsScore&gt;</span>

/* Written by Matt Ingalls, edited by Kevin Conder. */
<span class="comment">; Play Instrument #1.</span>
<span class="stamnt">i</span> 1 0 0.001


<span class="csdtag">&lt;/CsScore&gt;</span>
<span class="csdtag">&lt;/CsoundSynthesizer&gt;</span>
</pre>
          </div>
        </div>
        <p><br class="example-break" />

      This example will generate a file called <span class="quote">“<span class="quote">my.sco</span>”</span>. It should contain lines like this:

      </p>
        <pre class="screen">
i1      0.00    3.94    10.26
i1      0.20    3.35    6.22
i1      0.67    3.65    11.33
i1      1.31    1.42    4.13
      </pre>
        <p>
    </p>
        <p>
      Here is an example of the fprintks opcode, which converts a standard MIDI file to a csound score. It uses the file <a class="ulink" href="examples/fprintks-2.csd" target="_top"><em class="citetitle">fprintks-2.csd</em></a>.

      </p>
        <div class="example">
          <a id="idp111086176"></a>
          <p class="title">
            <strong>Example 321. Example of the fprintks opcode to convert a MIDI file to a csound score.</strong>
          </p>
          <div class="example-contents">
            <pre class="programlisting">
<span class="csdtag">&lt;CsoundSynthesizer&gt;</span>
<span class="csdtag">&lt;CsOptions&gt;</span>
<span class="comment">; Select audio/midi flags here according to platform</span>
<span class="comment">; Audio out   Audio in    No messages</span>
<span class="comment">; -odac           -iadc     -d     ;;;RT audio I/O</span>
<span class="comment">; For Non-realtime ouput leave only the line below:</span>
-n -Fmidichn_advanced.mid
<span class="comment">;Don't write audio ouput to disk and use the file midichn_advanced.mid as MIDI input</span>
<span class="csdtag">&lt;/CsOptions&gt;</span>
<span class="csdtag">&lt;CsInstruments&gt;</span>

  <span class="ohdr">sr</span>	    <span class="op">=</span>  48000
  <span class="ohdr">ksmps</span>	    <span class="op">=</span>  16
  <span class="ohdr">nchnls</span>    <span class="op">=</span>  2

  <span class="comment">;Example by Jonathan Murphy 2007</span>

	    <span class="comment">; assign all midi events to instr 1000</span>
	    <span class="ohdr">massign</span>   0, 1000
	    <span class="ohdr">pgmassign</span>	0, 1000

    <span class="oblock">instr</span> 1000

  ktim	<span class="opc">timeinsts</span>
	
  kst, kch, kd1, kd2  <span class="opc">midiin</span>
<span class="octrl">if</span> (kst <span class="op">!=</span> 0) then
<span class="comment">;  p4 = MIDI event type   p5 = channel   p6= data1    p7= data2</span>
	    <span class="opc">fprintks</span>  "MIDI2cs.sco", "i1\\t<span class="op">%</span>f\\t<span class="op">%</span>f\\t<span class="op">%</span>d\\t<span class="op">%</span>d\\t<span class="op">%</span>d\\t<span class="op">%</span>d\\n", ktim, 1<span class="op">/</span>kr, kst, kch, kd1, kd2
<span class="octrl">endif</span>

    <span class="oblock">endin</span>


<span class="csdtag">&lt;/CsInstruments&gt;</span>
<span class="csdtag">&lt;CsScore&gt;</span>
<span class="stamnt">i</span>1000 0 10000
<span class="stamnt">e</span>
<span class="csdtag">&lt;/CsScore&gt;</span>
<span class="csdtag">&lt;/CsoundSynthesizer&gt;</span>
</pre>
          </div>
        </div>
        <p><br class="example-break" />

      This example will generate a file called <span class="quote">“<span class="quote">MIDI2cs.sco</span>”</span> containing i-events according to the MIDI file 

    </p>
        <p>
      Here is an advanced example of the fprintks opcode, which generates scores for Csound. It uses the file <a class="ulink" href="examples/scogen.csd" target="_top"><em class="citetitle">scogen-2.csd</em></a>.

      </p>
        <div class="example">
          <a id="idp111089824"></a>
          <p class="title">
            <strong>Example 322. Example of the fprintks opcode to create a Csound score file generator using Csound.</strong>
          </p>
          <div class="example-contents">
            <pre class="programlisting">
<span class="csdtag">&lt;CsoundSynthesizer&gt;</span>
<span class="csdtag">&lt;CsOptions&gt;</span>
<span class="comment">; Select audio/midi flags here according to platform</span>
<span class="comment">; Audio out   Audio in    No messages</span>
<span class="comment">; -odac           -iadc     -d     ;;;RT audio I/O</span>
<span class="comment">; For Non-realtime ouput leave only the line below:</span>
-n
<span class="comment">;Don't write audio ouput to disk</span>
<span class="csdtag">&lt;/CsOptions&gt;</span>
<span class="csdtag">&lt;CsInstruments&gt;</span>
<span class="comment">;===========================================================</span>
<span class="comment">;        scogen.csd       by: Matt Ingalls</span>
<span class="comment">;</span>
<span class="comment">;    a "port" of sorts</span>
<span class="comment">;      of the old "mills" score generator (scogen)</span>
<span class="comment">;</span>
<span class="comment">;    this instrument creates a schottstaedt.sco file</span>
<span class="comment">;    to be used with the schottstaedt.orc file</span>
<span class="comment">;</span>
<span class="comment">;    as long as you dont save schottstaedt.orc as a .csd</span>
<span class="comment">;    file, you should be able to keep it open in MacCsound</span>
<span class="comment">;    and render each newly generated .sco file.</span>
<span class="comment">;</span>
<span class="comment">;===========================================================</span>


gScoName <span class="op">=</span> "<span class="op">/</span>Users<span class="op">/</span>matt<span class="op">/</span>Desktop<span class="op">/</span>schottstaedt.sco"     <span class="comment">; the name of the file to be generated</span>

    <span class="ohdr">sr</span>    <span class="op">=</span>    100     <span class="comment">; this defines our temporal resolution,</span>
                <span class="comment">; an sr of 100 means we will generate p2 and p3 values</span>
                <span class="comment">; to the nearest 1/100th of a second</span>

    <span class="ohdr">ksmps</span> <span class="op">=</span>    1     <span class="comment">; set kr=sr so we can do everything at k-rate</span>


<span class="comment">; some print opcodes</span>
<span class="oblock">opcode</span> PrintInteger, 0, <span class="opc">k</span>
    kval    <span class="opc">xin</span>
        <span class="opc">fprintks</span>    gScoName, "<span class="op">%</span>d", kval
<span class="oblock">endop</span>

<span class="oblock">opcode</span> PrintFloat, 0, <span class="opc">k</span>
    kval    <span class="opc">xin</span>
        <span class="opc">fprintks</span>    gScoName, "<span class="op">%</span>f", kval
<span class="oblock">endop</span>

<span class="oblock">opcode</span> PrintTab, 0, 0
    <span class="opc">fprintks</span>    gScoName, "<span class="op">%</span>n"
<span class="oblock">endop</span>

<span class="oblock">opcode</span> PrintReturn, 0, 0
    <span class="opc">fprintks</span>    gScoName, "<span class="op">%</span>r"
<span class="oblock">endop</span>


<span class="comment">; recursively calling opcode to handle all the optional parameters</span>
<span class="oblock">opcode</span> ProcessAdditionalPfields, 0, ikio
    iPtable, kndx, iNumPfields, iPfield <span class="opc">xin</span>

    <span class="comment">; additional pfields start at 5, we use a default 0 to identify the first call</span>
    iPfield <span class="op">=</span> (iPfield <span class="op">==</span> 0 <span class="op">?</span> 5 <span class="op">:</span> iPfield)

    <span class="octrl">if</span> (iPfield <span class="op">&gt;</span> iNumPfields) <span class="octrl">goto</span> endloop
        <span class="comment">; find our tables</span>
        iMinTable <span class="opc">table</span>    2<span class="op">*</span>iPfield<span class="op">-</span>1, iPtable
        iMaxTable <span class="opc">table</span>    2<span class="op">*</span>iPfield, iPtable

        <span class="comment">; get values from our tables</span>
        kMin <span class="opc">tablei</span>    kndx, iMinTable
        kMax <span class="opc">tablei</span>    kndx, iMaxTable

        <span class="comment">; find a random value in the range and write it to the score</span>
        <span class="opc">fprintks</span> gScoName, "<span class="op">%</span>t<span class="op">%</span>f", kMin <span class="op">+</span> <span class="opc">rnd</span>(kMax<span class="op">-</span>kMin)

        <span class="comment">; recursively call for any additional pfields.</span>
        ProcessAdditionalPfields iPtable, kndx, iNumPfields, iPfield <span class="op">+</span> 1
    endloop<span class="op">:</span>

<span class="oblock">endop</span>


<span class="op">/</span><span class="op">*</span> <span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">=</span>
    Generate <span class="opc">a</span> gesture of <span class="opc">i</span><span class="op">-</span>statements

    p2 <span class="op">=</span> start of the gesture
    p3 <span class="op">=</span> duration of the gesture
    p4 <span class="op">=</span> number of <span class="opc">a</span> function that contains <span class="opc">a</span> list of all
        function <span class="opc">table</span> numbers used to define the
        pfield <span class="opc">random</span> distribution
    p5 <span class="op">=</span> <span class="opc">scale</span> generated p4 values according to density (0<span class="op">=</span>off, 1<span class="op">=</span>on) [todo]
    p6 <span class="op">=</span> let durations overlap gesture duration (0<span class="op">=</span>off, 1<span class="op">=</span>on) [todo]
    p7 <span class="op">=</span> <span class="ohdr">seed</span> for <span class="opc">random</span> number generator <span class="ohdr">seed</span> [todo]
  <span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">==</span><span class="op">=</span>
<span class="op">*</span><span class="op">/</span>
<span class="oblock">instr</span> Gesture

    <span class="comment">; initialize</span>
    iResolution <span class="op">=</span> 1<span class="op">/</span><span class="ohdr">sr</span>

    kNextStart <span class="opc">init</span> p2
    kCurrentTime <span class="opc">init</span> p2

    iNumPfields <span class="opc">table</span>        0, p4
    iInstrMinTable <span class="opc">table</span>    1, p4
    iInstrMaxTable <span class="opc">table</span>    2, p4
    iDensityMinTable <span class="opc">table</span>    3, p4
    iDensityMaxTable <span class="opc">table</span>    4, p4
    iDurMinTable <span class="opc">table</span>    5, p4
    iDurMaxTable <span class="opc">table</span>    6, p4
    iAmpMinTable <span class="opc">table</span>    7, p4
    iAmpMaxTable <span class="opc">table</span>    8, p4

    <span class="comment">; check to make sure there is enough data</span>
    <span class="opc">print</span> iNumPfields
    <span class="octrl">if</span> iNumPfields <span class="op">&lt;</span> 4 then
        <span class="opc">prints</span> "<span class="op">%</span>dError<span class="op">:</span> At least 4 <span class="opc">p</span><span class="op">-</span>fields (8 functions) need to be specified.<span class="op">%</span>n", iNumPfields
        <span class="opc">turnoff</span>
    <span class="octrl">endif</span>

    <span class="comment">; initial comment</span>
    <span class="opc">fprints</span>    gScoName, "<span class="op">%</span>!Generated Gesture from <span class="op">%</span>f to <span class="op">%</span>f seconds<span class="op">%</span>n <span class="op">%</span>!<span class="op">%</span>t<span class="op">%</span>twith <span class="opc">a</span> <span class="opc">p</span><span class="op">-</span><span class="opc">max</span> of <span class="op">%</span>d<span class="op">%</span>n<span class="op">%</span>n", p2, p3, iNumPfields

    <span class="comment">; k-rate stuff</span>
    <span class="octrl">if</span> (kCurrentTime <span class="op">&gt;=</span> kNextStart) then <span class="comment">; write a new note!</span>

        kndx <span class="op">=</span> (kCurrentTime<span class="op">-</span>p2)<span class="op">/</span>p3

        <span class="comment">; get the required pfield ranges</span>
        kInstMin <span class="opc">tablei</span>    kndx, iInstrMinTable
        kInstMax <span class="opc">tablei</span>    kndx, iInstrMaxTable
        kDensMin <span class="opc">tablei</span>    kndx, iDensityMinTable
        kDensMax <span class="opc">tablei</span>    kndx, iDensityMaxTable
        kDurMin <span class="opc">tablei</span>    kndx, iDurMinTable
        kDurMax <span class="opc">tablei</span>    kndx, iDurMaxTable
        kAmpMin <span class="opc">tablei</span>    kndx, iAmpMinTable
        kAmpMax <span class="opc">tablei</span>    kndx, iAmpMaxTable

        <span class="comment">; find random values for all our required parametrs and print the i-statement</span>
        <span class="opc">fprintks</span> gScoName, "i<span class="op">%</span>d<span class="op">%</span>t<span class="op">%</span>f<span class="op">%</span>t<span class="op">%</span>f<span class="op">%</span>t<span class="op">%</span>f", kInstMin <span class="op">+</span> <span class="opc">rnd</span>(kInstMax<span class="op">-</span>kInstMin), kNextStart, kDurMin <span class="op">+</span> <span class="opc">rnd</span>(kDurMax<span class="op">-</span>kDurMin), kAmpMin <span class="op">+</span> <span class="opc">rnd</span>(kAmpMax<span class="op">-</span>kAmpMin)

        <span class="comment">; now any additional pfields</span>
        ProcessAdditionalPfields p4, kndx, iNumPfields

        PrintReturn

        <span class="comment">; calculate next starttime</span>
        kDensity <span class="op">=</span> kDensMin <span class="op">+</span> <span class="opc">rnd</span>(kDensMax<span class="op">-</span>kDensMin)
        <span class="octrl">if</span> (kDensity <span class="op">&lt;</span> iResolution) then
            kDensity <span class="op">=</span> iResolution
        <span class="octrl">endif</span>
        kNextStart <span class="op">=</span> kNextStart <span class="op">+</span> kDensity
    <span class="octrl">endif</span>

    kCurrentTime <span class="op">=</span> kCurrentTime <span class="op">+</span> iResolution
<span class="oblock">endin</span>


<span class="csdtag">&lt;/CsInstruments&gt;</span>
<span class="csdtag">&lt;CsScore&gt;</span>
/*
===========================================================
  <span class="stamnt">s</span>cogen.<span class="stamnt">s</span>co

    <span class="stamnt">t</span>his csound module genera<span class="stamnt">t</span>es a score file
    you specify a gesture of notes by giving
    <span class="stamnt">t</span>he "ges<span class="stamnt">t</span>ure" ins<span class="stamnt">t</span>rumen<span class="stamnt">t</span> a number <span class="stamnt">t</span>o a
    (negative) gen2 table.

    <span class="stamnt">t</span>his <span class="stamnt">t</span>able s<span class="stamnt">t</span>ores numbers <span class="stamnt">t</span>o pairs of func<span class="stamnt">t</span>ions.
    <span class="stamnt">e</span>ach function-pair r<span class="stamnt">e</span>pr<span class="stamnt">e</span>s<span class="stamnt">e</span>nts a rang<span class="stamnt">e</span> (min-max)
    of randomness for every pfield for the notes to
    <span class="stamnt">b</span>e generated.
===========================================================
*/


<span class="comment">; common tables for pfield ranges</span>
<span class="stamnt">f</span>100    0    2    -7    0 2 0    <span class="comment">; static 0</span>
<span class="stamnt">f</span>101    0    2    -7    1 2 1    <span class="comment">; static 1</span>
<span class="stamnt">f</span>102    0    2    -7    0 2 1 <span class="comment">; ramp 0-&gt;1</span>
<span class="stamnt">f</span>103    0    2    -7    1 2 0 <span class="comment">; ramp 1-&gt;0</span>
<span class="stamnt">f</span>105    0    2    -7    10 2 10 <span class="comment">; static 10</span>
<span class="stamnt">f</span>106    0    2    -7    .1 2 .1 <span class="comment">; static .1</span>

<span class="comment">; specific pfield ranges</span>
<span class="stamnt">f</span>10    0    2    -7       .8 2 .01 <span class="comment">; density</span>
<span class="stamnt">f</span>11    0    2    -7       8 2 4 <span class="comment">; pitchmin</span>
<span class="stamnt">f</span>12    0    2    -7       8 2 12 <span class="comment">; pitchmax</span>


<span class="comment">;=== table containing the function numbers used for all the p-field distributions</span>
<span class="comment">;</span>
<span class="comment">;    p1 -     table number</span>
<span class="comment">;    p2 -     time table is instantiated</span>
<span class="comment">;    p3 -     size of table (must be &gt;= p5!)</span>
<span class="comment">;    p4 -     gen# (should be = -2)</span>
<span class="comment">;    p5 -     number of pfields of each note to be generated</span>
<span class="comment">;    p6 -     table number of the function representing the minimum possible note number (p1) of a generated note</span>
<span class="comment">;    p7 -     table number of the function representing the maximum possible note number (p1) of a generated note</span>
<span class="comment">;    p8 -     table number of the function representing the minimum possible noteon-to-noteon time (p2 density) of a generated note</span>
<span class="comment">;    p9 -     table number of the function representing the maximum possible noteon-to-noteon time (p2 density) of a generated note</span>
<span class="comment">;    p10 -    table number of the function representing the minimum possible duration (p3) of a generated note</span>
<span class="comment">;    p11 -    table number of the function representing the maximum possible duration (p3) of a generated note</span>
<span class="comment">;    p12 -    table number of the function representing the maximum possible amplitude (p4) of a generated note</span>
<span class="comment">;    p13 -    table number of the function representing the maximum possible amplitude (p5) of a generated note</span>
<span class="comment">;    p14,p16.. -    table number of the function representing the minimum possible value for additional pfields (p5,p6..) of a generated note</span>
<span class="comment">;    p15,p17.. -    table number of the function representing the maximum possible value for additional pfields (p5,p6..) of a generated note</span>

<span class="comment">;        siz    2    #pds p1min    p1max p2min    p2max p3min    p3max p4min    p4max p5min    p5max p6min    p6max</span>
<span class="stamnt">f</span>1    0    32    -2    6    101    101    10    10 101    105    100    106    11    12    100    101


<span class="comment">;gesture definitions</span>
<span class="comment">;        start    dur    pTble    scale    overlap seed</span>
<span class="stamnt">i</span>"Gesture"     0    60    1 <span class="comment">;todo--&gt;0    0    123</span>
<span class="csdtag">&lt;/CsScore&gt;</span>
<span class="csdtag">&lt;/CsoundSynthesizer&gt;</span>
</pre>
          </div>
        </div>
        <p><br class="example-break" />

      This example will generate a file called <span class="quote">“<span class="quote">schottstaedt.sco</span>”</span> which can be used as a score together with  <a class="ulink" href="examples/schottstaedt.orc" target="_top"><em class="citetitle">schottstaedt.orc</em></a>

    </p>
      </div>
      <div class="refsect1">
        <a id="idp111093104"></a>
        <h2>See Also</h2>
        <p>
      <a class="link" href="printks.html" title="printks"><em class="citetitle">printks</em></a>
    </p>
      </div>
      <div class="refsect1">
        <a id="idp111095248"></a>
        <h2>Credits</h2>
        <p>
      </p>
        <table border="0" summary="Simple list" class="simplelist">
          <tr>
            <td>Author: Matt Ingalls</td>
          </tr>
          <tr>
            <td>January 2003</td>
          </tr>
        </table>
        <p>
    </p>
      </div>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="foutk.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="OpcodesTop.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="fprints.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">foutk </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> fprints</td>
        </tr>
      </table>
    </div>
  </body>
</html>
